As computing devices are more interconnected, communication increasingly takes place on unreliable and sometimes hostile networks. Since the information transmitted on a channel is public and can be tampered with, ensuring the safety and authenticity of information becomes a prime objective in many sensitive commercial and defense applications. Encryption of data and verification of a digital signature of communicating devices are keys to ensuring this safe and reliable transfer of information. Thus a secret fingerprint or unique circuit identifier (ID) that cannot be replicated by an adversary are needed to establish the identity of all sender and recipient integrated circuits (ICs). Their degree of robustness determines the overall effectiveness of cryptographic algorithms such as a hash message authentication code (HMAC). Additional applications include device identification, such as serial numbers, to license software and track devices. The latter allows prevention of grey market remarking and tracking of failures and customer returned ICs.
Analogous to a human fingerprint, an IC fingerprint ID must be unique for each instance of logically identical devices and should remain constant with time. The ID should be algorithmically unpredictable; it should be repeatable under all process, temperature and voltage conditions; and the ID length should be sufficient to allow correct identification of each die. Consequently, the ID must be accessible, but also secret from the outside world. Such constraints necessitate that the ID be implemented in hardware circuits rather that in software, the latter being vulnerable to attacks by simple memory dump or programming. Thus, there is a need for such an ID.